package 代码随想2._5双指针法;

/**
 * @author XXX
 * @date 2024-01-14 22:30
 */

/**
 * https://leetcode.cn/problems/reverse-string/description/
 */
public class _2反转字符串 {
    public void reverseString(char[] s) {
        int left = 0 , right = s.length - 1;
        while (left<right){
            char tmp  = s[left];
            s[left] = s[right];
            s[right] = tmp;

//            s[left] ^= s[right];  //构造 a ^ b 的结果，并放在 a 中
//            s[right] ^= s[left];  //将 a ^ b 这一结果再 ^ b ，存入b中，此时 b = a, a = a ^ b
//            s[left] ^= s[right];  //a ^ b 的结果再 ^ a ，存入 a 中，此时 b = a, a = b 完成交换

            left++;
            right--;
        }
        return;
    }
}
